package com.ipay.wechat.util;

import java.util.HashMap;
import net.sf.json.JSONObject;

public class PushMessage {
	
	public static String createMsgJson(HashMap<String, String> map) {
		int index = Integer.parseInt(map.get("index"));
		
		String sendType = map.get("sendType");
		JSONObject jsonObject = new JSONObject();
		JSONObject jsonObject2 = new JSONObject();
		JSONObject jsonObject3;
		jsonObject.put("touser",map.get("openid"));
		jsonObject.put("url", map.get("url"));//消息模版要跳转的URL
		jsonObject.put("topcolor", "#FF0000");
		switch (index) {
		case 1:
			jsonObject.put("template_id", map.get("tempCode"));//模板编号
			jsonObject3 = new JSONObject();//first 
			jsonObject3.put("value", map.get("first"));
			jsonObject3.put("color", "#173177");
			jsonObject2.put("first", jsonObject3);//消息模板参数1
			
			if(sendType.equals("0")){// 类型为1时 根据传入参数 生成通用模版
				jsonObject3 = new JSONObject();
				jsonObject3.put("value", map.get("keyword1"));
				jsonObject3.put("color", "#173177");
				jsonObject2.put("keyword1", jsonObject3);//消息模板参数2
				
				jsonObject3 = new JSONObject();
				jsonObject3.put("value", map.get("keyword2"));
				jsonObject3.put("color", "#173177");
				jsonObject2.put("keyword2", jsonObject3);//消息模板参数3
				
			}else if(sendType.equals("2")){// 类型为2时 根据传入参数  收款成功通知模版
				jsonObject3 = new JSONObject();
				jsonObject3.put("value", map.get("keyword1"));
				jsonObject2.put("keyword1", jsonObject3);//消息模板参数1
				
				jsonObject3 = new JSONObject();
				jsonObject3.put("value", map.get("keyword2"));
				jsonObject2.put("keyword2", jsonObject3);//消息模板参数2
				
				jsonObject3 = new JSONObject();
				jsonObject3.put("value", map.get("keyword3"));
				jsonObject2.put("keyword3", jsonObject3);//消息模板参数2
				
				jsonObject3 = new JSONObject();
				jsonObject3.put("value", map.get("keyword4"));
				jsonObject2.put("keyword4", jsonObject3);//消息模板参数2
				
				jsonObject3 = new JSONObject();
				jsonObject3.put("value", map.get("keyword5"));
				jsonObject2.put("keyword5", jsonObject3);//消息模板参数2
				
			}else if(sendType.equals("3")){// 类型为3时 根据传入参数 生成退款通知模版
				jsonObject3 = new JSONObject();
				jsonObject3.put("value", map.get("keyword1"));
				jsonObject3.put("color", "#173177");
				jsonObject2.put("reason", jsonObject3);//消息模板参数2
				
				jsonObject3 = new JSONObject();
				jsonObject3.put("value", map.get("keyword2"));
				jsonObject3.put("color", "#173177");
				jsonObject2.put("refund", jsonObject3);//消息模板参数3
			}
			
			jsonObject3 = new JSONObject();
			jsonObject3.put("value", map.get("remark"));
			jsonObject3.put("color", "#173177");
			jsonObject2.put("remark", jsonObject3);//消息模板参数4
			break;
		default:
			break;
		}
		jsonObject.put("data",jsonObject2);
		return jsonObject.toString();
	}
	
}
